Introdução à Programação

Aula 3 - Data Types & Operators

Strings (str)

  • Strings (str) are a type of data, encapsulated by quotes, supporting indexing, concatenation, and repetition.
  • Strings have methods like .split(), .upper(), .lower(), and .replace().
  • F-strings allow for dynamic string formatting with variable inclusion.
  • Integers (int) represent whole numbers and support basic mathematical operations.
  • Floats (float) represent real numbers with decimals, can be rounded, and compared with integers.
  • Comparison operators (==, !=, >, <, >=, <=) and logical operators (and, or, not) are used for evaluating conditions.
  • Comparisons result in boolean values (True, False).
  • Variable coercion involves converting one data type to another (str to int, int to str).
  • Operators are symbols or keywords that perform specific operations, like the assignment operator (=).

str são encapsuladas por aspas

# Single
my_string1 = 'Hello, World!'

## Double
my_string2 = "Python é divertido."

### Triple quotes
my_string3 = """Esta é uma string
        que abrange várias
        linhas."""

str suportam indexação

  • Indexação = acessar partes de um todo
  • Indexação de strings em Python: [ ]
  • Zero-based indexing
## Criando nossa string
nome_faculdade = 'Belavista'
## Indexando o elemento de posição zero
nome_faculdade[0]
'B'
## Indexando o elemento de posição 7
nome_faculdade[6]
't'

str suportam concatenação e repetição

  • Uso de operadores (realizam operações computacionais)
  • Símbolo adição +
  • Símbolo multiplicação *
## Criando uma str concatenada
nome_faculdade = 'Faculdade' + ' ' + 'Belavista'
## Multiplicando uma string
'Belavista' * 3
'BelavistaBelavistaBelavista'

str possuem ‘métodos’

  • Funções que pertencem a um objeto
  • Tais funções são definidas como pertencentes a uma classe - e estão associadas a objetos dessa classe
  • Como chamar um método? Ponto .
  • Cada objeto possui métodos próprios
    • Ações que podem ser realizadas em um objeto

str possuem ‘métodos’

## Criando nossa string
nome_faculdade = 'Faculdade Belavista'
## Acessando o método `split` de uma string
nome_faculdade.split(' ')
['Faculdade', 'Belavista']
## Acessando o método `upper` de uma string
nome_faculdade.upper()
'FACULDADE BELAVISTA'
## Acessando o método `lower` de uma string
nome_faculdade.lower()
'faculdade belavista'
## Acessando o método `replace` de uma string
nome_faculdade.replace('Faculdade', 'Universidade')
'Universidade Belavista'

str podem ser formatadas

  • f-string method (literal string interpolation)
  • Maneira ágil de formatar strings (recente*)
  • Como? Prefixe f antes das aspas de uma str
## Criando uma variável
nome_faculdade = 'Belavista'

## Criando uma mensagem, utilizando o método f-string, que
## inclui uma variável dentro da string
mensagem = f'Seja bem-vindo à Faculdade {nome_faculdade}'
print(mensagem)
Seja bem-vindo à Faculdade Belavista

Integers (int)

  • Outro tipo de dado em Python
  • int = representam números inteiros (sem frações)
  • int são usadas não somenete em operações matemáticas

int suportam operações matemáticas

## Soma
3 + 5
8
## Subtração
100 - 10
90
## Multiplicação
3 * 5
15
## Divisão
15 / 3
5.0
## Exponenciação
3 ** 5
243

Floats (int)

  • Outro tipo de dado em Python
  • float = conjuntos dos números reais (com decimais)
  • float são muito comuns em cálculos científicos

float podem ser arredondadas

## Realizando um cálculo que resulte em uma float
x = 10
y = 3

## Resultado
z = x / y
print(z)
3.3333333333333335
## Realizando um cálculo que resulte em uma float
x = 10
y = 3

## Resultado
z = x / y

## Arredondamento
z1 = round(z, 2)
print(z1)
3.33

int e float podem ser comparados!

## Criando variáveis numéricas
x = 10
y = 3/10

## Comparando-as!
x > y
True
  • True ?

Operators

  • Realização de operações específicas (sem ser uma função)
  • Símbolos especiais
  • Palavras-chave
  • Já conhecemos um (o mais importante de todos)
  • Assignment Operator (=)

Comparison Operators

  • Igual: ==
  • Diferente: !=
  • Maior que: >
  • Menor que: <
  • Maior ou igual a: >=
  • Menor ou igual a: <=

Comparison Operators

## Igual (==)
10 == 10
True
## Diferente (!=)
10 != 3
True
## Menor que (<)
10 < 3
False

Logic Operators

  • and: True se ambas verdadeiras
  • or: True se ao menos uma verdadeira
  • not: Inverte o valor booleano da expressão
  • Existem outros tipos de operadores (later)
## and
10 > 5 and 3 > 0
True
## or
10 == 5 or 3 != 2
True
## not
not(10 == 10)
False

Comparisons result in bool!

  • Booleanos (bool)são outro tipo de dado!
  • O mais simples dos tipos, apenas: True, False
  • Relevant to know:
    • False evaluate to 0
    • True evaluate to 1
    • Empty strings "" are coerced to False
    • Every non-empty string are coerced to True

Coercing variables

  • Se a variável ano_nascimento = int, então?
  • Coercing a int into str
  • Coercing a str into int
  • Coercing (‘conversão’) que sejam válidas!

Coercing an int into str

  • Function to coerce numbers into string: str
  • Easy path: (quase) qualquer coisa pode ser uma string
## Criando uma variável numérica inteira (int)
minha_int = 30

## Coercing it so it becomes a 'str'
nova_str = str(minha_int)

## Proving that it became a str
print(f'Uma vez convertida, podemos apenas printar o numero {nova_str}!')
Uma vez convertida, podemos apenas printar o numero 30!

Coercing an str into int

  • Function to coerce a string into a number: int
  • Nós sabemos os símbolos que representam números
  • A máquina, nem sempre!
## Criando uma variável string (`str`)
minha_str = '30'
# Porque é uma string se eu sei que isso é o símbolo de um número?

## Coercing it so it becomes a `int`
nova_int = int(minha_str)

## Proving that it became an `int`
30 + nova_int
60

Recap!

  • Strings (str): Basic data type encapsulated by quotes, supporting indexing, concatenation, and methods.
  • Indexing: Accessing parts of strings using [ ], with zero-based indexing.
  • Concatenation and Repetition: Using + for joining strings and * for repeating strings.
  • String Methods: Functions like .split(), .upper(), .lower(), and .replace() to manipulate strings.
  • Formatting Strings: Using f-strings (f”“) for embedding expressions within string literals.
  • Integers (int): Data type for whole numbers, supporting basic arithmetic operations.
  • Floats (float): Represent real numbers with decimals, can be rounded using round().
  • Operators: Include assignment (=), comparison (e.g., ==, !=, >, <), and logical (and, or, not) operators.
  • Boolean Values: Result from comparisons, with True and False as possible values.
  • Type Coercion: Converting between data types, like turning an int into a str with str() or a str into an int with int().

In-class Coding #3